export function generateRoutes(menus: Menu[]) {
  let temp: (Menu & { children: Menu[] })[] = [];
  // 遍历，先生成1级菜单的数组
  menus.forEach((item) => {
    // 1级菜单的 parentId 是 0
    if (item.parentId === 0) {
      temp.push({ ...item, children: [] })
    }
  })
  // 再遍历，根据 id 和 parentId 的关系，生成2级菜单的数组，存到1级的children数组里面
  menus.forEach((c) => {
    temp.forEach(p => {
      // 判断2级的parentId 是否是 1级的id
      // 以及还有一个条件，当2级的hidden是1，就不显示
      if (c.parentId === p.id) {
        // c已经是p的子级 ， 存到 p 的 children数组里面
        p.children.push(c)
      }
    })
  })

  return temp;
}